]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
data: Only unset environment when the service actually ran
authorBenjamin Berg <bberg@redhat.com>
Thu, 20 Aug 2020 08:08:01 +0000 (10:08 +0200)
committerBenjamin Berg <benjamin@sipsolutions.net>
Thu, 20 Aug 2020 08:11:11 +0000 (08:11 +0000)
ExecStopPost= is executed even if ExecCondition= fails. As such, we need
to add a guard as we would otherwise clear environment variables on X11
sessions (rendering them utterly useless).

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1418

data/org.gnome.Shell@wayland.service.in

index 427e3c80727dedab0e05231a7a609b6e15854be7..692d45bb37ab5c1780dfbcaef55304a0f55e8692 100644 (file)
@@ -26,7 +26,7 @@ ExecStart=@bindir@/gnome-shell
 SuccessExitStatus=1
 
 # unset some environment variables that were set by the shell and won't work now that the shell is gone
-ExecStopPost=-systemctl --user unset-environment GNOME_SETUP_DISPLAY WAYLAND_DISPLAY DISPLAY XAUTHORITY
+ExecStopPost=-/bin/sh -c 'test "$SERVICE_RESULT" != "exec-condition" && systemctl --user unset-environment GNOME_SETUP_DISPLAY WAYLAND_DISPLAY DISPLAY XAUTHORITY'
 
 # On wayland we cannot restart
 Restart=no